Fric-Frac PersonController
Home

Fric-Frac PersonController

Fric-Frac PersonController

De Person controller klasse dispatcht alle request die verband houden met het beheer van de Person entiteit. Dat komt neer op het afhandelen van alle use cases die we hebben opgesteld voor het beheren van de entiteit Person, o.a.:

De PersonController klasse

  1. Maak een nieuwe Controller klasse in de Controllers map. Hoe je dat doen hebben we geleerd in Fric-frac AdminController.
  2. Kies ervoor om een MVC Controller Class te maken en geef er de naam PersonController.cs aan.
  3. We houden ons nu alleen bezig met methoden die de bedoeling hebben een input view aan de gebruiker te tonen. We wijzigen of voegen daarvoor de volgende methoden toe:
    1. De Index methode wijzigen

      De Index methode handelt de Person/Index use case af. We raadplegen Fric-frac Use Case Person Index om nog eens na te gaan wat die methode precies moet doen. Voorlopig implementeren we alleen de titel die op de webpagina moet verschijnen:

      using Microsoft.AspNetCore.Mvc;
      
      namespace FricFrac.Controllers
      {
          public class PersonController : Controller
          {
              // GET: /<controller>/
              public IActionResult Index()
              {
                  ViewBag.Title = "Fric-frac Person Index";
                  return View();
              }
          }
      }
      
      
    2. De InsertingOne methode toevoegen

      Om naar de InsertingOne view te kunnen navigeren moeten we de use case /Person/InsertingOne die staat op de Index.cshtml pagina implementeren. Daarvoor moeten we een methode maken in de PersonController klasse die het klikken op de link in Index.cshtml afhandelt. De naam van de methode moet de afspraken, die gelden binnen het MVC framework, moet dus InsertingOne zijn. Dat is dezelfde naam als het twee deel van de URL. Het eerste deel van de URL verwijst naar de naam van de controller.

      public IActionResult InsertingOne()
      {
          ViewBag.Title = "Fric-frac Person Inserting One";
          return View();
      }
    3. De ReadingOne actiemethode toevoegen

      Om naar de ReadingOne pagina te kunnen navigeren moeten we de use case /Person/ReadingOne, die staat op de op alle pagina's waarop een lijst met basiseenheden staat waaruit een basiseenheid geselecteerd kan worden, implementeren. Daarvoor moeten we een methode maken in de PersonController klasse die het klikken op de select link <a href = "/UnitBase/ReadingOne_XX"> afhandelt. De XX staat voor de Id van de rij. De naam van de methode, geheel volgens de afspraken binnen het MVC framework, is dus ReadingOne. Dat is dezelfde naam als het twee deel van de URL. Het eerste deel van de URL verwijst naar de naam van de controller. Deze naam is de naam van de actiemethode in de PersonController klasse en de naam van de view die door deze methode geretourneerd wordt.

      public IActionResult ReadingOne()
      {
          ViewBag.Title = "Fric-frac Person Reading One";
          return View();
      }
    4. De UpdatingOne actiemethode toevoegen

      Om naar de Updating pagina te kunnen navigeren moeten we de use case /Person/Updating/XX, die staat op de ReadingOne pagina staat, implementeren. Daarvoor moeten we een methode maken in de PersonController klasse die het klikken op de select link <a href = "/Person/Updating_XX"> afhandelt. De XX staat voor de Id van de rij. De naam van de methode, geheel volgens de afspraken binnen het MVC framework, is dus UpdatingOne. Dat is dezelfde naam als het twee deel van de URL. Het eerste deel van de URL verwijst naar de naam van de controller. Deze naam is de naam van de actiemethode in de PersonController klasse en de naam van de view die door deze methode geretourneerd wordt. De link, die deze use case in gang zet, De html code daarvoor ziet er zo uit:

      <a href="/Person/Updating/XX" class="tile">
          <span class="icon-pencil"></span>
          <span class="screen-reader-text">UpdatingOne</span>
      </a>
      

      We implementeren nu de actiemethode UpdatingOne in de PersonController klasse. De methode krijgt als argument de Id van de te zoeken rij mee.

      public IActionResult UpdatingOne()
      {
          ViewBag.Title = "Fric-frac Person Updating One";
          return View();
      }

JI
2018-01-04 11:41:23